package controllers;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ViewScoped;

import modelo.Propietario;
import modelo.Tiposuscripcion;
import modelo.Usuario;
import services.PropietarioService;
import services.TipoSuscripcionService;


@ManagedBean
@ViewScoped
public class ActivarPropietarioBean implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = -7267319135561739444L;

	@ManagedProperty("#{tipoSuscripcionService}")
    private TipoSuscripcionService serviceTipoSusc;
	List<Tiposuscripcion> listTipoSuscripcion = new ArrayList<Tiposuscripcion>();
	private Tiposuscripcion tipoSuscripcionSelected=new Tiposuscripcion();	
	
	@ManagedProperty("#{propietarioService}")
	private PropietarioService servicePropietario=new PropietarioService();
	private Propietario propietario=new Propietario();

	private List<Propietario> listaTablaFiltrada;
	private Propietario propietarioSelected;

	public ActivarPropietarioBean() {
		super();
		listaTablaFiltrada=new ArrayList<Propietario>();
		propietarioSelected=new Propietario();
	}

	@PostConstruct
	private void init() {
		servicePropietario.init();
		listaTablaFiltrada=servicePropietario.getListaPropietarioFiltrada();
		listTipoSuscripcion=serviceTipoSusc.getListaTiposuscripcion();
	}
	
	public Propietario getPropietario() {
		return propietario;
	}

	public void setPropietario(Propietario propietario) {
		this.propietario = propietario;
	}

	public List<Propietario> getListaTablaFiltrada() {
		return listaTablaFiltrada;
	}

	public void setListaTablaFiltrada(List<Propietario> listaTablaFiltrada) {
		this.listaTablaFiltrada = listaTablaFiltrada;
	}
	
	Usuario usuario1 = new Usuario();
	
	
	public Usuario getUsuario1() {
		return usuario1;
	}

	public void setUsuario1(Usuario usuario1) {
		this.usuario1 = usuario1;
	}

	public void activarPropietario() throws Exception
	{
		listaTablaFiltrada.remove(propietarioSelected);
		servicePropietario.activarPropietario(propietarioSelected,tipoSuscripcionSelected);
	}
	
	public PropietarioService getServicePropietario() {
		return servicePropietario;
	}

	public void setServicePropietario(PropietarioService servicePropietario) {
		this.servicePropietario = servicePropietario;
	}

	public Propietario getPropietarioSelected() {
		return propietarioSelected;
	}

	public void setPropietarioSelected(Propietario propietarioSelected) {
		this.propietarioSelected = propietarioSelected;
	}

	public TipoSuscripcionService getServiceTipoSusc() {
		return serviceTipoSusc;
	}

	public void setServiceTipoSusc(TipoSuscripcionService serviceTipoSusc) {
		this.serviceTipoSusc = serviceTipoSusc;
	}

	public List<Tiposuscripcion> getListTipoSuscripcion() {
		return listTipoSuscripcion;
	}

	public void setListTipoSuscripcion(List<Tiposuscripcion> listTipoSuscripcion) {
		this.listTipoSuscripcion = listTipoSuscripcion;
	}

	public Tiposuscripcion getTipoSuscripcionSelected() {
		return tipoSuscripcionSelected;
	}

	public void setTipoSuscripcionSelected(Tiposuscripcion tipoSuscripcionSelected) {
		this.tipoSuscripcionSelected = tipoSuscripcionSelected;
	}
	
	
	}
